package com.yjb.demo.tdengine.mapper;

import com.yjb.demo.tdengine.domain.dto.TdInsertDTO;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.HashMap;
import java.util.List;

/**
 * @author yinjinbiao
 * @create 2024/6/13 14:41
 */
public interface TaosMapper {
    void createStable(@Param("stableName") String stableName);

    void createTable(@Param("stableName") String stableName,@Param("deviceId") Long deviceId, @Param("location") String location);

    void addColumn(@Param("stableName") String stableName,@Param("columnName") String columnName,@Param("columnType") String columnType);

    void insertData(TdInsertDTO tdInsertDTO);

    HashMap<String, Object> getLastRow(@Param("deviceId") Long deviceId);

    /**
     * 查询设备某个测点的原始采集数据（建议天数间隔不要大于1天，按天查询）
     * @param deviceId
     * @param columnName
     * @return
     */
    List<HashMap<String, Object>> getPointData(@Param("deviceId") Long deviceId, @Param("columnName") String columnName, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
}
